package com.hildeberto.home.client;

import com.conseilimmo.bo.util.Convert;
import com.conseilimmo.repository.BatimentBsn;
import com.conseilimmo.repository.PersonneBsn;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextField;
import objetsBd.BatimentBd;
import objetsBd.PersonneBd;

/**
 *
 * @author verpoorten
 */
public class PersonneController implements Initializable {

    @FXML
    private ObservableList<String> civiliteListe;
    @FXML
    private TextField txtLocataireNom;
    @FXML
    private TextField txtLocatairePrenom;
    @FXML
    private TextField txtLocataireNoCarteId;
    @FXML
    private TextField txtLocataireEmail;
    @FXML
    private TextField txtLocataireTel;
    @FXML
    private TextField txtLocataireGsm;
    @FXML
    private TextField txtLocataireDateNaissance;
    @FXML
    private TextField txtLocataireLieuNais;
    private PersonneBd personneEdition;
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        civiliteListe =
                FXCollections.observableArrayList(
                "Mademoiselle",
                "Monsieur",
                "-");
    }

    public ObservableList<String> getCiviliteListe() {
        return civiliteListe;
    }

    public void setCiviliteListe(ObservableList<String> civiliteListe) {
        this.civiliteListe = civiliteListe;
    }

    public TextField getTxtLocataireNom() {
        return txtLocataireNom;
    }

    public void setTxtLocataireNom(TextField txtLocataireNom) {
        this.txtLocataireNom = txtLocataireNom;
    }

    public TextField getTxtLocatairePrenom() {
        return txtLocatairePrenom;
    }

    public void setTxtLocatairePrenom(TextField txtLocatairePrenom) {
        this.txtLocatairePrenom = txtLocatairePrenom;
    }

    public TextField getTxtLocataireNoCarteId() {
        return txtLocataireNoCarteId;
    }

    public void setTxtLocataireNoCarteId(TextField txtLocataireNoCarteId) {
        this.txtLocataireNoCarteId = txtLocataireNoCarteId;
    }

    public TextField getTxtLocataireEmail() {
        return txtLocataireEmail;
    }

    public void setTxtLocataireEmail(TextField txtLocataireEmail) {
        this.txtLocataireEmail = txtLocataireEmail;
    }

    public TextField getTxtLocataireTel() {
        return txtLocataireTel;
    }

    public void setTxtLocataireTel(TextField txtLocataireTel) {
        this.txtLocataireTel = txtLocataireTel;
    }

    public TextField getTxtLocataireGsm() {
        return txtLocataireGsm;
    }

    public void setTxtLocataireGsm(TextField txtLocataireGsm) {
        this.txtLocataireGsm = txtLocataireGsm;
    }

    public TextField getTxtLocataireDateNaissance() {
        return txtLocataireDateNaissance;
    }

    public void setTxtLocataireDateNaissance(TextField txtLocataireDateNaissance) {
        this.txtLocataireDateNaissance = txtLocataireDateNaissance;
    }

    public TextField getTxtLocataireLieuNais() {
        return txtLocataireLieuNais;
    }

    public void setTxtLocataireLieuNais(TextField txtLocataireLieuNais) {
        this.txtLocataireLieuNais = txtLocataireLieuNais;
    }

    public PersonneBd getPersonneEdition() {
        return personneEdition;
    }

    public void setPersonneEdition(PersonneBd personneEdition) {
        this.personneEdition = personneEdition;
    }

    public void garnirEdition(PersonneBd pers) {
        if (pers != null) {

            txtLocataireNom.setText(pers.getNom());
            txtLocatairePrenom.setText(pers.getPrenom());
            txtLocataireDateNaissance.setText(Convert.convertDateToString(pers.getDateDeNaissance()));
            txtLocataireLieuNais.setText(pers.getLieuDeNaissance());
            txtLocataireNoCarteId.setText(pers.getNumCarteIdentite());
            txtLocataireEmail.setText(pers.getEmail());
            txtLocataireTel.setText(pers.getTel());
            txtLocataireGsm.setText(pers.getGsm());

        } else {

            txtLocataireNom.setText("");
            txtLocatairePrenom.setText("");
            txtLocataireDateNaissance.setText("");
            txtLocataireLieuNais.setText("");
            txtLocataireNoCarteId.setText("");
            txtLocataireEmail.setText("");
            txtLocataireTel.setText("");
            txtLocataireGsm.setText("");

        }
    }
       public void changerDePersonne(PersonneBd b) {
        this.setPersonneEdition(b.createClone());
        this.garnirEdition(b);
    }
           @FXML
    private void nouvellePersonneAction(ActionEvent action) throws IOException {
         personneEdition = new PersonneBd();
        garnirEdition(personneEdition);
    }
               @FXML
    private void enregistrerModificationPersonneAction(ActionEvent action) throws IOException {
        

    }
              @FXML
    private void supprimerPersonneAction(ActionEvent action) throws IOException {
        if (personneEdition != null && personneEdition.getIdPersonne() != null) {            
            PersonneBsn batrimentSn = new PersonneBsn();
            batrimentSn.supprimerPersonne(personneEdition.getIdPersonne());
            personneEdition = null;            
        }
    }
    
}
